package com.zzk.protect.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

/**
 * 
 * @TableName medical_record
 */
@TableName(value ="medical_record")
public class MedicalRecord {
    /**
     * Primary key ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * Case number
     */
    @TableField(value = "case_number")
    private String caseNumber;

    /**
     * Registration ID
     */
    @TableField(value = "registration_id")
    private Integer registrationId;

    /**
     * Chief complaint
     */
    @TableField(value = "chief_complaint")
    private String chiefComplaint;

    /**
     * Present illness
     */
    @TableField(value = "present_illness")
    private String presentIllness;

    /**
     * Present treatment
     */
    @TableField(value = "present_treatment")
    private String presentTreatment;

    /**
     * Medical history
     */
    @TableField(value = "history")
    private String history;

    /**
     * Allergy history
     */
    @TableField(value = "allergy")
    private String allergy;

    /**
     * Physical examination
     */
    @TableField(value = "physical_exam")
    private String physicalExam;

    /**
     * Examination recommendation
     */
    @TableField(value = "recommendation")
    private String recommendation;

    /**
     * Precautions
     */
    @TableField(value = "precaution")
    private String precaution;

    /**
     * Examination result
     */
    @TableField(value = "examination_result")
    private String examinationResult;

    /**
     * Diagnosis
     */
    @TableField(value = "diagnosis")
    private String diagnosis;

    /**
     * Treatment plan
     */
    @TableField(value = "treatment_plan")
    private String treatmentPlan;

    /**
     * Status (1=draft, 2=submitted, 3=completed)
     */
    @TableField(value = "status")
    private Integer status;

    /**
     * Primary key ID
     */
    public Integer getId() {
        return id;
    }

    /**
     * Primary key ID
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * Case number
     */
    public String getCaseNumber() {
        return caseNumber;
    }

    /**
     * Case number
     */
    public void setCaseNumber(String caseNumber) {
        this.caseNumber = caseNumber;
    }

    /**
     * Registration ID
     */
    public Integer getRegistrationId() {
        return registrationId;
    }

    /**
     * Registration ID
     */
    public void setRegistrationId(Integer registrationId) {
        this.registrationId = registrationId;
    }

    /**
     * Chief complaint
     */
    public String getChiefComplaint() {
        return chiefComplaint;
    }

    /**
     * Chief complaint
     */
    public void setChiefComplaint(String chiefComplaint) {
        this.chiefComplaint = chiefComplaint;
    }

    /**
     * Present illness
     */
    public String getPresentIllness() {
        return presentIllness;
    }

    /**
     * Present illness
     */
    public void setPresentIllness(String presentIllness) {
        this.presentIllness = presentIllness;
    }

    /**
     * Present treatment
     */
    public String getPresentTreatment() {
        return presentTreatment;
    }

    /**
     * Present treatment
     */
    public void setPresentTreatment(String presentTreatment) {
        this.presentTreatment = presentTreatment;
    }

    /**
     * Medical history
     */
    public String getHistory() {
        return history;
    }

    /**
     * Medical history
     */
    public void setHistory(String history) {
        this.history = history;
    }

    /**
     * Allergy history
     */
    public String getAllergy() {
        return allergy;
    }

    /**
     * Allergy history
     */
    public void setAllergy(String allergy) {
        this.allergy = allergy;
    }

    /**
     * Physical examination
     */
    public String getPhysicalExam() {
        return physicalExam;
    }

    /**
     * Physical examination
     */
    public void setPhysicalExam(String physicalExam) {
        this.physicalExam = physicalExam;
    }

    /**
     * Examination recommendation
     */
    public String getRecommendation() {
        return recommendation;
    }

    /**
     * Examination recommendation
     */
    public void setRecommendation(String recommendation) {
        this.recommendation = recommendation;
    }

    /**
     * Precautions
     */
    public String getPrecaution() {
        return precaution;
    }

    /**
     * Precautions
     */
    public void setPrecaution(String precaution) {
        this.precaution = precaution;
    }

    /**
     * Examination result
     */
    public String getExaminationResult() {
        return examinationResult;
    }

    /**
     * Examination result
     */
    public void setExaminationResult(String examinationResult) {
        this.examinationResult = examinationResult;
    }

    /**
     * Diagnosis
     */
    public String getDiagnosis() {
        return diagnosis;
    }

    /**
     * Diagnosis
     */
    public void setDiagnosis(String diagnosis) {
        this.diagnosis = diagnosis;
    }

    /**
     * Treatment plan
     */
    public String getTreatmentPlan() {
        return treatmentPlan;
    }

    /**
     * Treatment plan
     */
    public void setTreatmentPlan(String treatmentPlan) {
        this.treatmentPlan = treatmentPlan;
    }

    /**
     * Status (1=draft, 2=submitted, 3=completed)
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * Status (1=draft, 2=submitted, 3=completed)
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        MedicalRecord other = (MedicalRecord) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getCaseNumber() == null ? other.getCaseNumber() == null : this.getCaseNumber().equals(other.getCaseNumber()))
            && (this.getRegistrationId() == null ? other.getRegistrationId() == null : this.getRegistrationId().equals(other.getRegistrationId()))
            && (this.getChiefComplaint() == null ? other.getChiefComplaint() == null : this.getChiefComplaint().equals(other.getChiefComplaint()))
            && (this.getPresentIllness() == null ? other.getPresentIllness() == null : this.getPresentIllness().equals(other.getPresentIllness()))
            && (this.getPresentTreatment() == null ? other.getPresentTreatment() == null : this.getPresentTreatment().equals(other.getPresentTreatment()))
            && (this.getHistory() == null ? other.getHistory() == null : this.getHistory().equals(other.getHistory()))
            && (this.getAllergy() == null ? other.getAllergy() == null : this.getAllergy().equals(other.getAllergy()))
            && (this.getPhysicalExam() == null ? other.getPhysicalExam() == null : this.getPhysicalExam().equals(other.getPhysicalExam()))
            && (this.getRecommendation() == null ? other.getRecommendation() == null : this.getRecommendation().equals(other.getRecommendation()))
            && (this.getPrecaution() == null ? other.getPrecaution() == null : this.getPrecaution().equals(other.getPrecaution()))
            && (this.getExaminationResult() == null ? other.getExaminationResult() == null : this.getExaminationResult().equals(other.getExaminationResult()))
            && (this.getDiagnosis() == null ? other.getDiagnosis() == null : this.getDiagnosis().equals(other.getDiagnosis()))
            && (this.getTreatmentPlan() == null ? other.getTreatmentPlan() == null : this.getTreatmentPlan().equals(other.getTreatmentPlan()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getCaseNumber() == null) ? 0 : getCaseNumber().hashCode());
        result = prime * result + ((getRegistrationId() == null) ? 0 : getRegistrationId().hashCode());
        result = prime * result + ((getChiefComplaint() == null) ? 0 : getChiefComplaint().hashCode());
        result = prime * result + ((getPresentIllness() == null) ? 0 : getPresentIllness().hashCode());
        result = prime * result + ((getPresentTreatment() == null) ? 0 : getPresentTreatment().hashCode());
        result = prime * result + ((getHistory() == null) ? 0 : getHistory().hashCode());
        result = prime * result + ((getAllergy() == null) ? 0 : getAllergy().hashCode());
        result = prime * result + ((getPhysicalExam() == null) ? 0 : getPhysicalExam().hashCode());
        result = prime * result + ((getRecommendation() == null) ? 0 : getRecommendation().hashCode());
        result = prime * result + ((getPrecaution() == null) ? 0 : getPrecaution().hashCode());
        result = prime * result + ((getExaminationResult() == null) ? 0 : getExaminationResult().hashCode());
        result = prime * result + ((getDiagnosis() == null) ? 0 : getDiagnosis().hashCode());
        result = prime * result + ((getTreatmentPlan() == null) ? 0 : getTreatmentPlan().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", caseNumber=").append(caseNumber);
        sb.append(", registrationId=").append(registrationId);
        sb.append(", chiefComplaint=").append(chiefComplaint);
        sb.append(", presentIllness=").append(presentIllness);
        sb.append(", presentTreatment=").append(presentTreatment);
        sb.append(", history=").append(history);
        sb.append(", allergy=").append(allergy);
        sb.append(", physicalExam=").append(physicalExam);
        sb.append(", recommendation=").append(recommendation);
        sb.append(", precaution=").append(precaution);
        sb.append(", examinationResult=").append(examinationResult);
        sb.append(", diagnosis=").append(diagnosis);
        sb.append(", treatmentPlan=").append(treatmentPlan);
        sb.append(", status=").append(status);
        sb.append("]");
        return sb.toString();
    }
}